Skip to content

Archive gotestsum JSON for unit and acc tests#5068

Merged
pietern merged 2 commits intomainfrom
test-time-profiling
May 6, 2026
Merged

Archive gotestsum JSON for unit and acc tests#5068
pietern merged 2 commits intomainfrom
test-time-profiling

Conversation

@pietern
Copy link
Copy Markdown
Contributor

@pietern pietern commented Apr 22, 2026

Summary

task cover (push-to-main path) wrote both the unit and acceptance gotestsum runs to the same test-output.json, so the acc run overwrote the unit run. Mirror what task test already does:

  • Each gotestsum run writes its own per-run JSON (test-output-unit.json, test-output-acc.json).
  • A trailing cat step concatenates them into test-output.json, so task cover and task test produce the same artifact.

Upload test-output.json as a per-matrix-entry artifact (test-output-<os>-<deployment>) so we can run gotestsum tool slowest or ad-hoc queries against the full per-test timing set offline.

This pull request and its description were written by Isaac.

pietern added a commit that referenced this pull request Apr 23, 2026
Profiling via gotestsum JSON (PR #5068) shows Windows acceptance tests
run at 2.1-2.4x the Linux duration uniformly across every directory,
and a large subset of those tests exercise server-side logic through
bundle deploy/update cycles without touching OS-specific CLI behavior.
Linux coverage alone is sufficient for those subtrees.

Skipping on both Windows and macOS (via GOOS.windows/GOOS.darwin =
false) in:

- `bundle/resources/` — jobs, pipelines, clusters, dashboards, grants,
  permissions, model_serving_endpoints, postgres_*, quality_monitors,
  secret_scopes, volumes, models, registered_models, schemas, etc.
- `bundle/deployment/bind/` and `bundle/deployment/unbind/` --
  server-side state binding
- `bundle/run_as/` -- server-side identity impersonation
- `bundle/resource_deps/` -- server-side dependency resolution
- `bundle/templates/default-python/{combinations,integration_classic,
  serverless}` -- server-side template rendering; Windows/macOS still
  smoke-tests the template machinery via `templates/default-python/
  classic/`.

All `out.test.toml` files regenerated via `make generate-out-test-toml`
so the materialized config snapshot reflects the new GOOS filters.

Expected impact:
- windows/terraform: ~32m -> ~12-15m
- macos/terraform:   ~13m -> ~7-9m
- linux/terraform:   unchanged (full coverage preserved)

Co-authored-by: Isaac
@pietern pietern force-pushed the test-time-profiling branch from 3a9f772 to 6e061e3 Compare April 23, 2026 08:37
@pietern pietern changed the title ci(wip): upload gotestsum JSON, one-acc-test smoke Archive gotestsum JSON for unit and acc tests Apr 23, 2026
@pietern pietern changed the base branch from main to test-time-windows-skip April 23, 2026 08:40
@pietern pietern force-pushed the test-time-profiling branch from 6e061e3 to 4eb7689 Compare April 23, 2026 08:41
Previously `task cover` wrote both unit and acc gotestsum output to
the same `test-output.json`, so the acc run overwrote the unit run.
Match what `task test` already does:

- Each gotestsum run writes its own per-run JSON
  (`test-output-unit.json`, `test-output-acc.json`).
- A trailing `cat` step concatenates them into `test-output.json`,
  so `task cover` and `task test` produce the same final artifact.

Upload `test-output.json` as a per-matrix-entry artifact so we can run
`gotestsum tool slowest` or ad-hoc queries against the full per-test
timing set offline.

Co-authored-by: Isaac
@pietern pietern force-pushed the test-time-profiling branch from 4eb7689 to 2d85014 Compare May 6, 2026 07:54
@pietern pietern marked this pull request as ready for review May 6, 2026 07:54
@pietern pietern changed the base branch from test-time-windows-skip to main May 6, 2026 07:55
Co-authored-by: Isaac
@pietern pietern temporarily deployed to test-trigger-is May 6, 2026 08:37 — with GitHub Actions Inactive
@pietern pietern temporarily deployed to test-trigger-is May 6, 2026 08:37 — with GitHub Actions Inactive
@pietern pietern merged commit 00a9f8a into main May 6, 2026
27 of 28 checks passed
@pietern pietern deleted the test-time-profiling branch May 6, 2026 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants